package com.itheima.mapper;

import com.itheima.pojo.Brand;
import org.apache.ibatis.annotations.*;

import java.util.List;

public interface BrandMapper {

    /**
     * 数据访问层：查询brand表中所有数据
     * @return
     */

    /*使用resultMap*/
    @Select("select * from tb_brand;")
    @ResultMap("brandResultMap")
    List<Brand>selectAll();

    /**
     * 插入品牌数据
     */
    @Insert("insert into tb_brand (id, brand_name, company_name, ordered, description, status) values (null," +
            "#{brandName},#{companyName},#{ordered},#{description},#{status});")
    int add(Brand brand);


    /**
     * 修改数据，首先回显数据(根据id查询数据，因为修改数据是在原来数据的基础上修改的，所以我们要先把数据显示在页面上)，
     * 修改提交后，在插入数据库，然后查询显示数据
     */
    @Select("select * from tb_brand where id=#{id};")
    @ResultMap("brandResultMap")
    Brand selectById(int id);

    /**
     * 修改数据
     * @param brand
     */
    @Update("update tb_brand set brand_name = #{brandName},company_name = #{companyName},ordered = #{ordered},description = #{description},status = #{status} where id = #{id}")
     void update(Brand brand);

    /**
     * 根据id删除品牌信息
     */
    @Delete("delete from tb_brand where id=#{id}")
    void deleteById(int id);

}
